Decomposition-Based Pricing for Integer Programs
نویسنده
چکیده
Mamer & McBride recently introduced a new decomposition algorithm for linear programming. They call this decomposition algorithm decomposition-based pricing. Our paper applies decomposition-based pricing to integer programs. For integer programs, we show that decomposition-based pricing produces tighter bounds than other common decomposition algorithms. We use the classic one-dimension cutting stock problem as an example. The subproblem is the same as that in the classic Gilmore-Gomory algorithm. The master corresponds to the cutting stock model developed by Dyckhoff. The new algorithm suggests that the typical formulation of the decomposition master can be improved. 1 Two old cutting stock algorithms – Gilmore-Gomory and Dyckhoff The venerable cutting stock problem has been studied since at least 1961, notably by Gilmore and Gomory (1961) and Dyckhoff (1981). Gilmore and Gomory developed a column generation algorithm, with a knapsack subproblem. However, their algorithm can require many iterations, and the integer solution is not always optimal. Dyckhoff observed that the knapsack subproblem could be modeled as a shortest path linear program, which allowed reformulation of the original problem. The reformulated original problem could be solved directly with linear programming without column generation, and the integer solution is optimal. But with Dyckhoff’s formulation, branch and bound can take a long time, and some models are too large to solve. In this paper, we show how to solve Dyckhoff’s formulation with column generation. The algorithm used is decomposition-based pricing (Mamer & McBride 2000). When decomposition-based pricing is applied to the integer programming formulation, we show that we can improve the bound given by the Gilmore-Gomory model, while greatly reducing the number of iterations required. 1.1 The Gilmore-Gomory cutting stock algorithm Gilmore and Gomory developed the classic column generation algorithm for the cutting stock problem. Their column generation algorithm uses the following master model. Indices: i is a product length demanded. j is a stock cutting pattern. Parameters: di is the demand for product of length i. aij is the number of pieces of length i in pattern j. Variables: xj is the number to make of pattern j. Model GGM: 1) Min ∑j xj, 2) ∑j aijxj ≥ di for each demand i, 3) xj integer. Explanation: 1) Minimise the number of stock lengths required. 2) Satisfy demand for each product length i. 3) Only whole lengths can be cut. In the Gilmore-Gomory algorithm, model GGM is first solved as a linear program, in order to obtain dual prices from constraint set 2, thereby allowing us to find a new pattern by solution of the following knapsack subproblem. Indices: i is the product length demanded. Parameters: di is the demand for product of length i, li is the length of product i. L is the length of the uncut stock material. Variables: ai is the number of pieces of product length i to put in the pattern. Model S: 4) Min 1+∑i πi ai 5) ∑i li ai ≤ L, 6) ai integer. Explanation: 4) Minimise the reduced cost of the new pattern. 5) The new pattern must be no longer than the stock material. 6) Only whole pieces of product can be put in the new pattern. The Gilmore-Gomory method starts with some reasonable feasible solution in the master GGM, and solves GGM with constraint set 3 (integrality) relaxed. The dual prices πi from constraint set 2 are then used as the objective coefficients for iteration j in model S. Model S is solved, producing a solution ai, which becomes a new column aij in model GGM. When the objective value of model S becomes nonnegative, the LP relaxation of model GGM has been solved. For an integer solution in GGM, constraint set 3 (integrality) is then imposed, and a good integer feasible solution can be found. Unfortunately, this algorithm can take many iterations, even hundreds. The integer solution at the end has no guarantee of optimality. Indeed, it is easy to construct trivial solutions where the integer solution to model GGM is not optimal. The subproblem S can be solved with integer programming or dynamic programming. 1.2 Dyckhoff’s method Dyckhoff (1981) observed that since model S can be solved with dynamic programming, and therefore as a shortest path network program, model S can be reformulated to solve the original knapsack problem in one go, without the need for column generation. Dyckhoff’s model is as follows. Indices: h, i, j are measure points where the stock material is to be cut. k is product. Parameters: dk demand for product of length k, lk is the length of product k. L is the length of the uncut stock material. Variables: yi,j = pieces of length j – i, cut at i inches from the end. wi,L = pieces of waste of length L–i, cut at i inches from the end. Model DM: 7) Minimise ∑j wj,L 8) ∑h yh,i – ∑j yi,j = 0, for all i ≤ L – lK, 9) ∑h yh,i – ∑j yi,j – wi,L = 0, all L – lK < i ≤ L, 10) ∑i,j: j–i= lk yi,j ≥ dk, for each product k, 11) yi,j integer. Explanation: 7) Minimise total waste. 8) Total material to the left of cut point i equals total material to the right of cut point i. 9) Total usable material to the left of cut point i equals total waste material to the right of cut point i. 10) Total material cut of length lk=j–i satisfies demand for product k. The optimal solution to model DM gives the optimal integer solution to the cutting stock problem. Unfortunately, the size of this model depends on the magnitude of the data. Larger stock lengths and smaller products result in many variables and rows. The contribution of this paper is to combine the Gilmore-Gomory column generation procedure with Dyckhoff’s formulation to reduce the disadvantages of both of them, while still improving the bounds on the Gilmore-Gomory procedure. 2 Decomposition based pricing for the cutting stock problem 2.1 What is decomposition based pricing (DBP)? Mamer & McBride (2000) published a fundamentally new decomposition algorithm for linear programming. Briefly, here is a description of their method. Suppose we wish to solve P: {min cx | Ax ≥ b (π), Dx ≥ f, x ≥ 0}. To solve this with DBP, we will create a subproblem and a master, similar to Dantzig-Wolfe decomposition. The subproblem is the same as in Dantzig-Wolfe, S: {min cx + π(b − Ax), Dx ≥ f, x ≥ 0}. At each iteration k, we solve S, then we note which variables are positive in the solution to S, and we record those variables’ indices in the set I = {j | xj > 0∈S for any l ≤ k}. Since I is a set of variable indices, |I |≤ n for all k, where n is the number of variables in P. Hopefully |I |<< n. The DBP master is not the same as the Dantzig-Wolfe master. The master is the original model P, but restricted to variables that are positive in the subproblem S. Algebraically, model P is restricted to the set of columns I, so P: {min cx | Ax ≥ b (π), Dx ≥ f, x ≥ 0, xj = 0 for all j ∉ I}. At each iteration k, subproblem S provides columns to the master P. The master P supplies dual prices π for subproblem S. As with Dantzig-Wolfe, the stopping condition is v(S) = v(P). 2.2 DBP and the cutting stock problem – the LP relaxation. To apply DBP to the cutting stock problem, we start with Dyckhoff’s model DM. However, we drop all variables except some reasonable feasible solution. Define arc set α to contain pairs of indices i, j that correspond to variables in Dyckhoff’s model. For example, if a 10 meter stock length were cut to two 5 meter lengths, then the arcs in α would be (0,5) and (5,10). A feasible solution to the subproblem must be a path in the network. It is convenient if the cut lengths are ordered from largest to smallest. For example, if a 10meter stock length were cut in lengths of 2, 5, and 3, then the arcs in α would be (0,5), (5,8), and (8,10). The new model is then: Model DM’: 7) Minimise ∑j wj,L 8) ∑h yh,i – ∑j yi,j = 0, for all i ≤ L – lK, 9) ∑h yh,i – ∑j yi,j – wi,L = 0, all L – lK < i ≤ L, 10) ∑i,j: j–i= lk yi,j ≥ dk, for each product k, 11) yi,j integer for (i, j) ∈ α. 12) yi,j = 0 for (i, j) ∉ α. The subproblem is as before: Model S: 4) Min 1+∑i πi ai 5) ∑i li ai ≤ L, 6) ai integer. After solving S, we sort the solution lengths decreasing, create arcs for and add them to model DM’, then solve DM’ with constraint set 11 (integrality) relaxed. Then we can retrieve dual prices πi from constraint set 10, to update the objective function in model S. The algorithm ceases with the optimal linear programming solution when 1+∑i πi ai ≥ 0. The optimal value of model DM’ will be exactly equal to the optimal values of models DM and GGM. We will present numerical results that show that this algorithm converges in fewer iterations than the Gilmore-Gomory method. Furthermore, this new method also improves on model GGM, when we need integer solutions. 2.3 Finding integer solutions to the cutting stock problem with DBP With model DM’, we can obtain an integer solution after the LP optimum has been found. All we need to do is impose constraint set 11 (integrality). It may seem that this is the same as imposing integrality in the Gilmore-Gomory master GGM, but in fact model GG’ tends to produce better solutions. These models are easily coded in AMPL and solved with Cplex. AMPL’s “arc” and “node” notation allows Cplex to use a fast network solver. We will present examples where the integer solutions to GG’ is strictly better than the integer solutions to GGM.
منابع مشابه
RESOLUTION METHOD FOR MIXED INTEGER LINEAR MULTIPLICATIVE-LINEAR BILEVEL PROBLEMS BASED ON DECOMPOSITION TECHNIQUE
In this paper, we propose an algorithm base on decomposition technique for solvingthe mixed integer linear multiplicative-linear bilevel problems. In actuality, this al-gorithm is an application of the algorithm given by G. K. Saharidis et al for casethat the rst level objective function is linear multiplicative. We use properties ofquasi-concave of bilevel programming problems and decompose th...
متن کاملOn Compact Formulations
Column generation has become a powerful tool in solving large scale integer programs. It is well known that most of the often reported compatibility issues between pricing subproblem and branching rule disappear when branching decisions are based on imposing constraints on the subproblem’s variables. This can be generalized to branching on variables of a so-called compact formulation. We constr...
متن کاملBenders decomposition for Supply Chain Network Redesign with Capacity planning and Multi-Period Pricing
Managing income is a considerable dimension in supply chain management in current economic atmosphere. Real world situation makes it inevitable not to design or redesign supply chain. Redesign will take place as costs increase or new services for customers’ new demands should be provided. Pricing is an important fragment of Supply chain due to two reasons: first, represents revenue based ...
متن کاملPartial Decomposition Strategies for Two-Stage Stochastic Integer Programs
We propose the concept of partial Benders decomposition, based on the idea of retaining a subset of scenario subproblems in the master formulation and develop a theory to support it that illustrates how it may be applied to any stochastic integer program with continuous recourse. Such programs are used to model many practical applications such as the one considered in this paper, network design...
متن کاملReformulation and Decomposition of Integer Programs
We examine ways to reformulate integer and mixed integer programs. Typically, but not exclusively, one reformulates so as to obtain stronger linear programming relaxations, and hence better bounds for use in a branch-and-bound based algorithm. First we cover reformulations based on decomposition, such as Lagrangean relaxation, the Dantzig-Wolfe reformulation and the resulting column generation ...
متن کامل